
package com.dhcc.bpm.modules.alarm.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

/**
 * @ClassName AlarmStrategy
 * @Description 告警策略表实体类
 * @Author sjm
 * @Date 2020/2/21 0021 15:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 **/
@Data
@TableName("opc_alarm_strategy")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AlarmStrategy对象", description = "告警策略表")
public class AlarmStrategy extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 策略名称
	*/
		@ApiModelProperty(value = "策略名称")
		private String strategyName;
	/**
	* 策略编号
	*/
		@ApiModelProperty(value = "策略编号")
		private String strategyCode;
	/**
	* 通知方式
	*/
		@ApiModelProperty(value = "通知方式")
		private String noticeMethod;
	/**
	* 优先级
	*/
		@ApiModelProperty(value = "优先级")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
		private Integer priorityLevel;
	/**
	* 策略周期
	*/
		@ApiModelProperty(value = "策略周期")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
		private Integer strategyPeriod;
	/**
	* 告警阈值
	*/
		@ApiModelProperty(value = "告警阈值")
		private String alarmThreshold;
	/**
	* 异常等级
	*/
		@ApiModelProperty(value = "异常等级")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
		private Integer exceptionLevel;
	/**
	* 告警策略模型
	*/
		@ApiModelProperty(value = "告警策略模型")
		private String strategyMode;
	/**
	* 告警内容模板
	*/
		@ApiModelProperty(value = "告警内容模板")
		private String alarmContentMould;
	/**
	 * 告警来源
	 */
	@ApiModelProperty(value = "告警来源")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long alarmSource;
	/**
	* 描述
	*/
		@ApiModelProperty(value = "描述")
		@TableField(value = "`describe`")
		private String describe;

	/**
	 * 告警流量
	 */
	@ApiModelProperty(value = "告警流量")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long alarmFlow;
	/**
	 * 成功率
	 */
	@ApiModelProperty(value = "成功率")
	@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long successRatio;
	/**
	 * 错误码
	 */
	@ApiModelProperty(value = "错误码")
	private String errorCode;

}
